home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d16
/
oriel.arc
/
DRAW.ORL
< prev
next >
Wrap
Text File
|
1991-07-31
|
13KB
|
504 lines
{------------------------------DRAW.ORL-------------------------------
This script lets you draw a variety of graphic shapes by clicking on
various points in the window.
--------------------------------------------------------------------}
{Establish Default Environment}
UseCaption("Oriel Draw")
SetWindow(Maximize)
UseCoordinates(Metric)
UsePen(SOLID,3,0,0,0)
Set P_Red = 0
Set P_Green = 0
Set P_Blue = 0
UseBrush(SOLID,255,0,0)
Set Br_Red = 255
Set Br_Green = 0
Set Br_Blue = 0
UseBackground(OPAQUE,255,255,255)
DrawBackground
DrawLine(0,130,280,130)
Draw_Menu:
SetMenu("&Figures",IGNORE,
"&Line", DR_LINE,
"&Rectangle", DR_RECTANGLE,
"&Round Rectangle", DR_ROUNDR,
"&Ellipse", DR_ELLIPSE,
"&Pie", DR_PIE,
"&Arc", DR_ARC,
"&Chord", DR_CHORD,
ENDPOPUP,
"&Brush Color",IGNORE,
"&White", BRUSH_WHITE,
"&Gray", BRUSH_GRAY,
"&Red", BRUSH_RED,
"&Yellow", BRUSH_YEL,
"Gree&n", BRUSH_GRN,
"&Light Blue", BRUSH_LTBLU,
"&Blue", BRUSH_BLUE,
"&Pink", BRUSH_PINK,
"Blac&k", BRUSH_BLACK,
ENDPOPUP,
"&Pen Color",IGNORE,
"&White", Pen_WHITE,
"&Gray", Pen_GRAY,
"&Red", Pen_RED,
"&Yellow", Pen_YEL,
"Gree&n", Pen_GRN,
"&Light Blue", Pen_LTBLU,
"&Blue", Pen_BLUE,
"&Pink", Pen_PINK,
"Blac&k", Pen_BLACK,
ENDPOPUP,
"&Exit!",Exit_proc,
ENDPOPUP)
{Draw tool boxes}
Gosub Draw_Boxes
{Highlight the line tool}
UsePen(SOLID,3,0,0,0)
UseBrush(NULL,0,0,0)
Gosub Line_Box
Set Box_select=1
{Draw tools}
UseFont("Helv",0,3,NOBOLD,NOITALIC,NOUNDERLINE,0,0,0)
UseBrush(SOLID,255,0,0)
UsePen(SOLID,2,0,0,0)
DrawText(1,1,"1") {Line}
DrawLine(4,5,22,10)
DrawText(23,9,"2")
DrawText(31,1,"1") {Rectangle}
DrawRectangle(34,3,56,12)
DrawText(57,10,"2")
DrawText(61,1,"1") {Round Rectangle}
DrawRoundRectangle(64,3,86,12,3,3)
DrawText(87,10,"2")
UseBrush(NULL,0,0,0) {Ellipse}
UsePen(DOT,1,0,0,0)
DrawText(91,1,"1")
DrawRectangle(94,3,116,12)
DrawText(116,10,"2")
UseBrush(SOLID,255,0,0)
UsePen(SOLID,2,0,0,0)
DrawEllipse(94,3,116,12)
UseBrush(NULL,0,0,0) {Pie}
UsePen(DOT,1,0,0,0)
DrawText(121,1,"1")
DrawRectangle(124,3,146,12)
DrawEllipse(124,3,146,12)
DrawText(146,10,"2")
UseBrush(SOLID,255,0,0)
UsePen(SOLID,2,0,0,0)
DrawPie(124,3,146,12,146,7,126,3)
DrawText(146,5,"3")
DrawText(126,0,"4")
UseBrush(NULL,0,0,0) {Arc}
UsePen(DOT,1,0,0,0)
DrawText(151,1,"1")
DrawRectangle(154,3,176,12)
DrawEllipse(154,3,176,12)
DrawText(176,10,"2")
UseBrush(SOLID,255,0,0)
UsePen(SOLID,2,0,0,0)
DrawArc(154,3,176,12,176,7,156,3)
DrawText(176,5,"3")
DrawText(156,0,"4")
UseBrush(NULL,0,0,0) {Chord}
UsePen(DOT,1,0,0,0)
DrawText(181,1,"1")
DrawRectangle(184,3,206,12)
DrawEllipse(184,3,206,12)
DrawText(206,10,"2")
UseBrush(SOLID,255,0,0)
UsePen(SOLID,2,0,0,0)
DrawChord(184,3,206,12,206,7,186,3)
DrawText(206,5,"3")
DrawText(186,0,"4")
{Reset the font}
UseFont("System",0,0,NOBOLD,NOITALIC,NOUNDERLINE,0,0,0)
{Line}
Dr_Line:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,line2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the beginning of the line")
WaitInput()
line2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,line_end,pos_x1,pos_y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on the end point of the line")
WaitInput()
line_end:
DrawLine(pos_x,pos_y,pos_x1,pos_y1)
Goto Dr_Line
{Rectangle}
dr_rectangle:
set rec_type = 0
goto dr_rect
{Round Rectangle}
dr_roundr:
set rec_type = 1
goto dr_rect
Dr_rect:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,rectangle2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the upper-left corner of the rectangle")
WaitInput()
rectangle2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,rect_end,pos_x1,pos_y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on the lower-right corner of the rectangle")
WaitInput()
rect_end:
if rec_type = 0 then DrawRectangle(pos_x,pos_y,pos_x1,pos_y1) | goto dr_rect
DrawRoundRectangle(pos_x,pos_y,pos_x1,pos_y1,12,9)
Goto dr_rect
{Ellipse}
dr_ellipse:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,ellipse2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the upper-left corner of the rectangle bounding the ellipse")
WaitInput()
ellipse2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,ellipse_end,pos_x1,pos_y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on the lower-right corner of the rectangle bounding the ellipse")
WaitInput()
ellipse_end:
DrawEllipse(pos_x,pos_y,pos_x1,pos_y1)
Goto dr_ellipse
{Pie}
dr_pie:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,pie2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the upper-left corner of the rectangle bounding the pie's ellipse")
WaitInput()
pie2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,pie3,pos_x1,pos_y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on the lower-right corner of the rectangle bounding the pie's ellipse")
WaitInput()
pie3:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,pie4,pos_x2,pos_y2)
Gosub Draw_Blank
DrawText(25,136,"(3) Click on one end of the arc that defines the pie")
WaitInput()
pie4:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,pie_end,pos_x3,pos_y3)
Gosub Draw_Blank
DrawText(25,136,"(4) Click on the other end of the arc that defines the pie")
WaitInput()
pie_end:
DrawPie(pos_x,pos_y,pos_x1,pos_y1,pos_x2,pos_y2,pos_x3,Pos_y3)
Goto dr_pie
{Arc}
dr_arc:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,arc2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the upper-left corner of the rectangle bounding the arc")
WaitInput()
arc2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,arc3,POS_X1,POS_Y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on the lower-right corner of the rectangle bounding the arc")
WaitInput()
arc3:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,arc4,pos_x2,pos_y2)
Gosub Draw_Blank
DrawText(25,136,"(3) Click on the arc's start point")
WaitInput()
arc4:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,arc_end,pos_x3,pos_y3)
Gosub Draw_Blank
DrawText(25,136,"(4) Click on the arc's end point")
WaitInput()
arc_end:
DrawArc(pos_x,pos_y,pos_x1,pos_y1,pos_x2,pos_y2,pos_x3,Pos_y3)
Goto dr_arc
{Chord}
dr_chord:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,chord2,POS_X,POS_Y)
Gosub Draw_Blank
DrawText(25,136,"(1) Click on the upper-left corner of the rectangle bounding the chord's ellipse")
WaitInput()
chord2:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,chord3,pos_x1,pos_y1)
Gosub Draw_Blank
DrawText(25,136,"(2) Click on lower-right corner of the rectangle bounding the chord's ellipse")
WaitInput()
chord3:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,chord4,pos_x2,pos_y2)
Gosub Draw_Blank
DrawText(25,136,"(3) Click on one point of the line that defines the chord")
WaitInput()
chord4:
SetMouse(0,0,1000,16,Move_Hilite,POS_X,POS_Y,
0,16,60000,130,chord_end,pos_x3,pos_y3)
Gosub Draw_Blank
DrawText(25,136,"(4) Click on the second point of the line that defines the chord")
WaitInput()
chord_end:
DrawChord(pos_x,pos_y,pos_x1,pos_y1,pos_x2,pos_y2,pos_x3,Pos_y3)
Goto dr_chord
{Change Brush Colors}
BRUSH_WHITE:
UseBrush(SOLID,255,255,255)
Set Br_Red=255
Set Br_Green=255
Set Br_Blue=255
Goto Leave_Box
BRUSH_GRAY:
UseBrush(SOLID,192,192,192)
Set Br_Red=192
Set Br_Green=192
Set Br_Blue=192
Goto Leave_Box
BRUSH_RED:
UseBrush(SOLID,255,0,0)
Set Br_Red=255
Set Br_Green=0
Set Br_Blue=0
Goto Leave_Box
BRUSH_YEL:
UseBrush(SOLID,255,255,0)
Set Br_Red=255
Set Br_Green=255
Set Br_Blue=0
Goto Leave_Box
BRUSH_GRN:
UseBrush(SOLID,0,255,0)
Set Br_Red=0
Set Br_Green=255
Set Br_Blue=0
Goto Leave_Box
BRUSH_LTBLU:
UseBrush(SOLID,0,255,255)
Set Br_Red=0
Set Br_Green=255
Set Br_Blue=255
Goto Leave_Box
BRUSH_BLUE:
UseBrush(SOLID,0,0,255)
Set Br_Red=0
Set Br_Green=0
Set Br_Blue=255
Goto Leave_Box
BRUSH_PINK:
UseBrush(SOLID,255,0,255)
Set Br_Red=255
Set Br_Green=0
Set Br_Blue=255
Goto Leave_Box
BRUSH_Black:
UseBrush(SOLID,0,0,0)
Set Br_Red=0
Set Br_Green=0
Set Br_Blue=0
Goto Leave_Box
{Change Pen Colors}
Pen_White:
UsePen(SOLID,2,255,255,255)
Set P_Red=255
Set P_Green=255
Set P_Blue=255
Goto Leave_Box
Pen_GRAY:
UsePen(SOLID,2,192,192,192)
Set P_Red=192
Set P_Green=192
Set P_Blue=192
Goto Leave_Box
Pen_RED:
UsePen(SOLID,2,255,0,0)
Set P_Red=255
Set P_Green=0
Set P_Blue=0
Goto Leave_Box
Pen_YEL:
UsePen(SOLID,2,255,255,0)
Set P_Red=255
Set P_Green=255
Set P_Blue=0
Goto Leave_Box
Pen_GRN:
UsePen(SOLID,2,0,255,0)
Set P_Red=0
Set P_Green=255
Set P_Blue=0
Goto Leave_Box
Pen_LTBLU:
UsePen(SOLID,2,0,255,255)
Set P_Red=0
Set P_Green=255
Set P_Blue=255
Goto Leave_Box
Pen_BLUE:
UsePen(SOLID,2,0,0,255)
Set P_Red=0
Set P_Green=0
Set P_Blue=255
Goto Leave_Box
Pen_PINK:
UsePen(SOLID,2,255,0,255)
Set P_Red=255
Set P_Green=0
Set P_Blue=255
Goto Leave_Box
Pen_Black:
UsePen(SOLID,2,0,0,0)
Set P_Red=0
Set P_Green=0
Set P_Blue=0
Goto Leave_Box
{Subroutine to erase current text}
Draw_Blank:
UsePen(NULL,1,0,0,0)
UseBrush(SOLID,255,255,255)
DrawRectangle(25,136,250,145)
UsePen(SOLID,2,P_Red,P_Green,P_Blue)
UseBrush(SOLID,Br_Red,Br_Green,Br_Blue)
Return
{Move the highlight to the selected tool}
Move_Hilite:
Set Box_Select_Old = Box_Select
UseBrush(NULL,0,0,0)
{Erase the old highlight}
UsePen(SOLID,3,255,255,255) {White pen}
If Box_Select_Old = 1 Then Gosub Line_Box | Goto New_Hilite
If Box_Select_Old = 2 Then Gosub Rect_Box | Goto New_Hilite
If Box_Select_Old = 3 Then Gosub RoundRect_Box | Goto New_Hilite
If Box_Select_Old = 4 Then Gosub Ellipse_Box | Goto New_Hilite
If Box_Select_Old = 5 Then Gosub Pie_Box | Goto New_Hilite
If Box_Select_Old = 6 Then Gosub Arc_Box | Goto New_Hilite
{Else} Gosub Chord_Box
{Draw the new highlight}
New_Hilite:
UsePen(SOLID,3,0,0,0) {Black pen}
If POS_X <= 30 Then Set Box_Select=1 | Gosub Line_Box | Goto Leave_Box
If POS_X <= 60 Then Set Box_Select=2 | Gosub Rect_Box | Goto Leave_Box
If POS_X <= 90 Then Set Box_Select=3 | Gosub RoundRect_Box | Goto Leave_Box
If POS_X <= 120 Then Set Box_Select=4 | Gosub Ellipse_Box | Goto Leave_Box
If POS_X <= 150 Then Set Box_Select=5 | Gosub Pie_Box | Goto Leave_Box
If POS_X <= 180 Then Set Box_Select=6 | Gosub Arc_Box | Goto Leave_Box
{Else} Set Box_Select=7 | Gosub Chord_Box
{Reset the brush and pen and branch to the appropriate routine}
Leave_Box:
Gosub Draw_Boxes
If Box_Select = 1 Then Goto Dr_Line
If Box_Select = 2 Then Goto Dr_Rectangle
If Box_Select = 3 Then Goto Dr_RoundR
If Box_Select = 4 Then Goto Dr_Ellipse
If Box_Select = 5 Then Goto Dr_Pie
If Box_Select = 6 Then Goto Dr_Arc
{Else} Goto Dr_Chord
{Exit!}
Exit_Proc:
End
{Subroutines for highligting drawing tools}
Line_Box:
DrawRectangle(0,0,30,16)
Return
Rect_Box:
DrawRectangle(30,0,60,16)
Return
RoundRect_Box:
DrawRectangle(60,0,90,16)
Return
Ellipse_Box:
DrawRectangle(90,0,120,16)
Return
Pie_Box:
DrawRectangle(120,0,150,16)
Return
Arc_Box:
DrawRectangle(150,0,180,16)
Return
Chord_Box:
DrawRectangle(180,0,210,16)
Return
{Draw tool boxes}
Draw_Boxes:
UsePen(SOLID,2,0,0,0)
DrawLine(0,16,1000,16) {Solid line across the window}
UsePen(SOLID,1,0,0,0) {Lines between drawing tools}
DrawLine(30,0,30,16)
DrawLine(60,0,60,16)
DrawLine(90,0,90,16)
DrawLine(120,0,120,16)
DrawLine(150,0,150,16)
DrawLine(180,0,180,16)
{Reset the pen and brush}
UsePen(SOLID,2,P_Red,P_Green,P_Blue)
UseBrush(SOLID,Br_Red,Br_Green,Br_Blue)
Return